The present disclosure relates to computing systems, and in particular to data migration in computing systems.
Data is typically stored on various media in files or databases, and can be generated and consumed by software applications which can support business processes. The process of transferring data between storage types, formats, or computer systems (both physical and virtual) may be referred to as data migration. Data migration may be used when organizations or individuals change computer systems or upgrade to new systems, and/or when systems merge, and can be performed programmatically to achieve an automated migration.
For example, when changing from a former vendor's software A to a new vendor's software B, data migration can be performed to transfer data from a format associated with software A to a different format associated with software B. Likewise, when performing a major release software upgrade, data migration may be used to transfer data from data structures associated with the previous software version A to data structures associated with the newer software version B, which may include significant architectural changes. For example, an older software version A may include an embedded data persistence infrastructure, while the infrastructure may be separated into a stand-alone product in the newer software version B.
To achieve an effective data migration procedure, data on the previous system can be mapped to the new system by relating previous data format(s) to the new system's format(s) and requirements. Programmatic data migration may involve many phases, and typically includes data extraction, where data is read from the old system, and data loading, where data is written to the new system. However, direct migration of data on the database level may lead to a corrupted inner logic of the data structure in the new system. This inner logic may often be hidden or otherwise not readily apparent. Other difficulties associated with the migration can include downtime of both systems during the entire migration process.